<?php
/**
 * 	Información sobre las unidades existentes en el juego. 
 */

if (!isset($common)) require_once 'include/common.php';
require_once 'include/functions.php';

/**
 * 	Devuelve el nombre de la unidad según la civilización..
 *	@param 0..2 $civilizacion
 *	@param 0..4 $tipoUnidad
 *	@return string $nombre[$civilizacion][$tipoUnidad]
 */
function unidadesGetName($civilizacion,$tipoUnidad)
{
	//numero de la civilización, numero del tipo de unidad
	$nombre = array
	(0=>array
		("Triarii","Legio","Equites","Sagitarii","Praetoriani"),
  	1=>array
		("Triarii","Legio","Equites","Sagitarii","Praetoriani"),
  	2=>array
		("Triarii","Legio","Equites","Sagitarii","Praetoriani")
  	);
	
	return $nombre[$civilizacion][$tipoUnidad];
}

/**
 * 	Devuelve la descripción de la unidad según la civilización..
 *	@param 0..2 $civilizacion
 *	@param 0..4 $tipoUnidad
 *	@return string $nombre[$civilizacion][$tipoUnidad]
 */
function unidadesGetDescripcion($civilizacion,$tipoUnidad)
{
	//numero de la civilización, numero del tipo de unidad
	$nombre = array
	(0=>array
		("Triarii - desc",
		"Legio - desc",
		"Equites - desc",
		"Sagitarii - desc",
		"Praetoriani - desc"),
	1=>array
		("Triarii - desc",
		"Legio - desc",
		"Equites - desc",
		"Sagitarii - desc",
		"Praetoriani - desc"),
	2=>array
	("Triarii - desc",
	"Legio - desc",
	"Equites - desc",
	"Sagitarii - desc",
	"Praetoriani - desc")
  	);
	
	return $nombre[$civilizacion][$tipoUnidad];
}


/**
 * 	Devuelve los costes de una unidad.
 *	@param 0..4 $tipoUnidad
 *	@return array( tiempo, grano, hierro, oro, madera )
 */
function unidadesGetCoste($tipoUnidad, $numUnidades)
{
	$coste=array(0,0,0,0,0);
	/*coste 0 = (T)iempo (segundos)
	 *coste 1 = (G)rano 
	 *coste 2 = (H)ierro
	 *coste 3 = (O)ro
	 *coste 4 = (M)adera 
	 */
	switch ($tipoUnidad) {
		case 0:
			{
				$coste[0]=redondear(625);
				$coste[1]=redondear(50);
				$coste[2]=redondear(40);
				$coste[3]=redondear(0);
				$coste[4]=redondear(30);		
			};
		break;
		case 1:
			{
				$coste[0]=redondear(625);
				$coste[1]=redondear(50);;
				$coste[2]=redondear(50);
				$coste[3]=redondear(0);
				$coste[4]=redondear(20);			
			};
		break;
		
		case 2:
			{
				$coste[0]=redondear(695);
				$coste[1]=redondear(75);
				$coste[2]=redondear(30);
				$coste[3]=redondear(15);
				$coste[4]=redondear(0);		
			};
		break;
		case 3:
			{
				$coste[0]=redondear(635);
				$coste[1]=redondear(50);
				$coste[2]=redondear(20);
				$coste[3]=redondear(5);
				$coste[4]=redondear(50);			
			};
		break;
		case 4:
			{
				$coste[0]=redondear(733);
				$coste[1]=redondear(60);
				$coste[2]=redondear(30);
				$coste[3]=redondear(30);
				$coste[4]=redondear(20);			
			};
		break;
	}
	
	for ($i = 0; $i < 5; $i++) 
	{
		$coste[$i] = $coste[$i]*$numUnidades;
	}
	
	return $coste;
}


/**
 * 	Devuelve las defensas de un tipo de unidad contra todos los tipos de unidades.
 *	@param 0..4 $tipoUnidad
 *	@return array( tipoTropa0, tipoTropa1, tipoTropa2, tipoTropa3, tipoTropa4 )
 */
function unidadesGetDefensa($tipoUnidad, $tipoUnidadAtacante)
{
	$defensa=array(0,0,0,0,0);
	/*defensa 0 = (L)anza
	 *defensa 1 = (E)spada 
	 *defensa 2 = (C)aballeria
	 *defensa 3 = (F)lechas
	 *defensa 4 = E(S)pecial 
	 *
	 *Igual orden que los ipos de unidades
	 */
	switch ($tipoUnidad) {
		case 0:
			{
				$defensa[0]=50;
				$defensa[1]=40;
				$defensa[2]=75;
				$defensa[3]=40;
				$defensa[4]=45;			
			};
		break;
		case 1:
			{
				$defensa[0]=75;
				$defensa[1]=50;
				$defensa[2]=25;
				$defensa[3]=75;
				$defensa[4]=25;			
			};
		break;
		
		case 2:
			{
				$defensa[0]=20;
				$defensa[1]=75;
				$defensa[2]=50;
				$defensa[3]=75;
				$defensa[4]=35;			
			};
		break;
		case 3:
			{
				$defensa[0]=75;
				$defensa[1]=30;
				$defensa[2]=20;
				$defensa[3]=50;
				$defensa[4]=75;			
			};
		break;
		case 4:
			{
				$defensa[0]=60;
				$defensa[1]=75;
				$defensa[2]=75;
				$defensa[3]=60;
				$defensa[4]=50;			
			};
		break;
	}
	
	$ret = $defensa[$tipoUnidadAtacante];
	
	return $ret;
}

/**
 * 	Devuelve la fuerza de un tipo de unidad.
 *	@param 0..4 $tipoUnidad
 *	@return int
 */
function unidadesGetFuerza($tipoUnidad)
{
	$mov=array(100,100,120,110,150);
	
	return $mov[$tipoUnidad];
}


/**
 * 	Devuelve la velocidad de un tipo de unidad.
 *	@param 0..4 $tipoUnidad
 *	@return int
 */
function unidadesGetMovimiento($tipoUnidad)
{
	global $speed;
	
	$mov=array(3*$speed, 3*$speed, 6*$speed, 4*$speed, 4*$speed);
	
	return $mov[$tipoUnidad];
}


/**
 * 	Devuelve la capacidad de saqueo de una determinada unidad.
 *	@param 0..4 $tipoUnidad
 *	@return int
 */
function unidadesGetCapacidadSaqueo($tipoU)
{
	$cs=array(1.04,1.04,1.16,1.06,1.22); //Parece muy poco, pero como son bastantes unidades acaba sumando bastante.
	
	return $cs[$tipoUnidad];
}
?>
